/*
 * 10文件块读写.c
 *
 *  Created on: 2024年3月17日
 *      Author: HP
 */
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>

int main1010(){
	// b是二进制模式的意思，b只是在Windows有效，在Linux用r和rb的结果是一样的。
	// Unix和Linux下所有的文本文件行都是\n结尾，而Windows所有的文本文件行都是\r\n结尾。
	// 在Windows平台下，以“文本”方式打开文件，不加b：
	// 1、当读取文件的时候，系统会将所有的“\r\n”转换成“\n”
	// 2、当写入文件的时候，系统会将“\n”转换成“\r\n”写入
	// 3、以”二进制”方式打开文件，则读写都不会进行这样的转换
	// 在Unix/Linux平台下，“文本”与“二进制”模式没有区别，"\r\n”作为两个字符原样输入输出。
	FILE* fp = fopen("D:/zsl/c.txt", "wb");
	int a = 5678;
	// 1: 要写入的元素个数
	fwrite(&a, sizeof(int), 1, fp);
	fclose(fp);

	FILE* fp2 = fopen("D:/zsl/c.txt", "rb");
	int value;
	fread(&value, sizeof(int), 1, fp2);
	printf("%d\n", value);
	fclose(fp2);
	return 0;
}

int main101001(){
	FILE* fp = fopen("D:/zsl/c.txt", "wb");
	int arr[] = {1,2,3,4,5,6,7,8,9,10};
	fwrite(arr, sizeof(int), 10, fp);
	fclose(fp);

	FILE* fp2 = fopen("D:/zsl/c.txt", "rb");
	int arr2[10] = {0};
	fread(arr2, 4, 10, fp2);
	for(int i=0; i<10; i++){
		printf("%d\n", arr2[i]);
	}
	fclose(fp2);
	return 0;
}
